package com.ruoyi.goods.mapper;

import java.util.List;
import com.ruoyi.goods.domain.WGoodsExtAssist;
import org.apache.ibatis.annotations.Param;

/**
 * 建扩辅助Mapper接口
 * 
 * @author ruoyi
 * @date 2024-05-27 21:48:33
 */
public interface WGoodsExtAssistMapper 
{
    /**
     * 查询建扩辅助
     * 
     * @param goodsExtAssistId 建扩辅助主键
     * @return 建扩辅助
     */
    public WGoodsExtAssist selectWGoodsExtAssistByGoodsExtAssistId(Long goodsExtAssistId);

    /**
     * 查询建扩辅助列表
     * 
     * @param wGoodsExtAssist 建扩辅助
     * @return 建扩辅助集合
     */
    public List<WGoodsExtAssist> selectWGoodsExtAssistList(WGoodsExtAssist wGoodsExtAssist);

    /**
     * 新增建扩辅助
     * 
     * @param wGoodsExtAssist 建扩辅助
     * @return 结果
     */
    public int insertWGoodsExtAssist(WGoodsExtAssist wGoodsExtAssist);

    /**
     * 修改建扩辅助
     * 
     * @param wGoodsExtAssist 建扩辅助
     * @return 结果
     */
    public int updateWGoodsExtAssist(WGoodsExtAssist wGoodsExtAssist);

    /**
     * 删除建扩辅助
     * 
     * @param goodsExtAssistId 建扩辅助主键
     * @return 结果
     */
    public int deleteWGoodsExtAssistByGoodsExtAssistId(Long goodsExtAssistId);

    /**
     * 批量删除建扩辅助
     * 
     * @param goodsExtAssistIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWGoodsExtAssistByGoodsExtAssistIds(Long[] goodsExtAssistIds);

    /**
     * 删除建扩辅助信息
     *
     * @param enterWarehouseNumber 建扩辅助主键
     * @return 结果
     */
    public int deleteWGoodsExtAssistByEnterWarehouseNumber(String enterWarehouseNumber);

    /**
     * 查询建扩辅助，按时间顺序，取最早的一次入库
     *
     * @param bundleNumber goods_ext捆包号
     * @param inventoryStatus 库存状态
     * @return 建扩辅助
     */
    public WGoodsExtAssist selectWGoodsExtAssistOneByEnterWarehouseTimeAsc(@Param("bundleNumber") String bundleNumber, @Param("inventoryStatus") String inventoryStatus);

    /**
     * 查询建扩辅助列表
     *
     * @param exitWarehouseNumber 出库编号
     * @param inventoryStatus 库存状态
     * @return 建扩辅助集合
     */
    public List<WGoodsExtAssist> selectWGoodsExtAssistListByExitWarehouseNumber(@Param("exitWarehouseNumber") String exitWarehouseNumber, @Param("inventoryStatus") String inventoryStatus);

    /**
     * 修改建扩辅助
     *
     * @param wGoodsExtAssist 建扩辅助
     * @return 结果
     */
    public int updateWGoodsExtAssistExitWarehouseRelFields(WGoodsExtAssist wGoodsExtAssist);

    /**
     * 查询建扩辅助列表
     *
     * @param goodsTransferNumber 货转编号
     * @param inventoryStatus 库存状态
     * @return 建扩辅助集合
     */
    public List<WGoodsExtAssist> selectWGoodsExtAssistListByGoodsTranserNumber(@Param("goodsTransferNumber") String goodsTransferNumber, @Param("inventoryStatus") String inventoryStatus);

    /**
     * 修改建扩辅助
     *
     * @param wGoodsExtAssist 建扩辅助
     * @return 结果
     */
    public int updateWGoodsExtAssistGoodsTransferRelFields(WGoodsExtAssist wGoodsExtAssist);

}
